// 导入获取token的函数
import { getToken, removeToken, setToken } from '@/utils/auth'
import { loginApi, getUserInfoApi, xuigaiMmApi } from '@/api/user'
// 仓库
const state = {
  token: getToken(),
  userInfo: {}
}
// 同步
const mutations = {
  setUserToken(state, token) {
    // 给仓库存token
    state.token = token
    // token存本地
    setToken(token)
  },

  // 保存用户基本信息
  getUserInfo(state, userInfo) {
    state.userInfo = userInfo
  },

  // 删除用户信息
  deletUserinfo(state) {
    state.token = ''
    state.userInfo = {}
    removeToken()
  }
}
// 异步
const actions = {
// 删除用户信息
  deletUserinfo(constxt) {
    constxt.commit('deletUserinfo')
  },

  // 获取用户基本信息
  async getUserInfo(context) {
    const userInfo = await getUserInfoApi()
    context.commit('getUserInfo', userInfo)
  },

  async loginActions(state, loginForm) {
    // 发送请求
    // const token = '888'
    const token = await loginApi(loginForm)
    // 调用同步函数修改仓库数据
    state.commit('setUserToken', token)
  }

}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
